package com.example.innelop

import org.junit.Test


/**
 * 测试内置函数also
 * 特征：
 * 1）返回值永远是调用者本身，与apply一样；因此支持链式调用
 * 2）参数持有it，与let的参数一样
 * @author zhouronghua
 * @time 2022/3/24 9:47 下午
 */
class AlsoTest {

    @Test
    fun testAlso() {
        val str = "我喜欢过年发奖金AbC"
        val result = str.also {
            println("新年新生:$it")
        }
        println(result)
        // also匿名函数里的处理不影响返回值本身
        val str1 = str.also {
            println("原始数据是$it")
        }.also {
            println("str转换为小写是 ${it.lowercase()}")
        }
        println(str1)
    }

}